package com.access.boot.starter.sample.openapi;

import com.access.boot.apisdk.Result;
import com.access.boot.apisdk.annotation.Param;
import com.access.boot.apisdk.annotation.Path;
import com.access.boot.apisdk.annotation.RequestMapping;
import com.access.boot.apisdk.annotation.RequestMethod;
import com.access.boot.starter.sample.openapi.model.UserVO;

import java.util.List;

/**
 * @author Yangzhen
 * @date 2023/1/16 13:50
 * @since 1.0.0
 */
public interface TestOpenapiServiceV2 {

    @RequestMapping(path = "openapi/{group_id}/users", method = RequestMethod.GET)
    List<UserVO> getList(@Path("group_id") String groupId);

    @RequestMapping(path = "openapi/{group_id}/user", method = RequestMethod.GET)
    UserVO getUser(@Path("group_id") String groupId, @Param("user_id") String userId);

    @RequestMapping(path = "openapi/{group_id}/user", method = RequestMethod.GET)
    Result<UserVO> getUserVO(@Path("group_id") String groupId, @Param("user_id") String userId);

    @RequestMapping(path = "openapi/{group_id}/users", method = RequestMethod.GET)
    List<UserVO> getListByFilter(@Path("group_id") String groupId, List<UserVO> filters);
}
